package com.central.modules.sys.service;

import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.extension.service.IService;
import com.central.modules.sys.entity.SysMenuEntity;
import com.central.modules.sys.model.AddSysMenuRequest;

import java.util.List;

public interface SysMenuService extends IService<SysMenuEntity> {

    //添加菜单
    void addMenu(AddSysMenuRequest request);

    //修改菜单
    void updateMenu(Long id, AddSysMenuRequest request);

    //级联删除菜单
    boolean deleteMenu(Long id);

    //查询所有的菜单
    List<SysMenuEntity> findAll();

    //查询用户权限列表
    List<String> getUserPermissionsList(Long userId);

    //查询所有的菜单
    List<String> getPermissionsList();

    List<SysMenuEntity> findByIdsAndType(List<Long> ids, Integer type);

    /**
     * 构建树
     * @param parentId 父节点ID
     * @param menuName 菜单名称
     * @return
     */
    List<Tree<Long>> treeMenu(Long parentId, String menuName, String type);





}
